package main

import "fmt"

func main() {
	arrayDefinition()
	multiArrayDefinition()
}
func arrayDefinition() {
	var a = [5]int{1, 2, 3, 4, 5}
	var b = [...]int{1, 2, 3, 4, 5}
	var c = [5]int{1: 2, 3: 4}
	fmt.Println(a)
	fmt.Println(b)
	fmt.Println(c)
	fmt.Println(a[2])
}
func multiArrayDefinition() {
	/**
	未初始化的数组(未指定大小)
	*/
	values := [][]int{}
	row1 := []int{1, 2, 3}
	row2 := []int{4, 5, 6}
	values = append(values, row1)
	values = append(values, row2)
	fmt.Println(values[0])
	fmt.Println(values[1])
	/**
	  初始化的数组
	*/
	a := [2][4]int{
		{1, 2, 3, 4},
		{5, 6, 7, 8},
	}
	fmt.Println(a)
	/**
	  指定大小，未初始化
	*/
	b := [2][2]string{}
	b[0][0] = "00"
	b[1][1] = "11"
	fmt.Println(b)
	/**
	不等的数组
	*/
	c := [][]string{}
	rowa := []string{"a", "b", "c"}
	rowb := []string{"a"}
	rowc := []string{"a", "b"}
	c = append(c, rowa)
	c = append(c, rowb)
	c = append(c, rowc)
	fmt.Println(c)

}
